home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Turnbull China Bikeride
/
Turnbull China Bikeride - Disc 2.iso
/
STUTTGART
/
LANG
/
C
/
LIB
/
UNIXLIB37B
/
!UnixLib37
/
src
/
stdio
/
c
/
scanf
< prev
next >
Wrap
Text File
|
1996-11-09
|
1KB
|
82 lines
/****************************************************************************
*
* $Source: /unixb/home/unixlib/source/unixlib37/src/stdio/c/RCS/scanf,v $
* $Date: 1996/04/19 21:32:42 $
* $Revision: 1.1 $
* $State: Rel $
* $Author: simon $
*
* $Log: scanf,v $
* Revision 1.1 1996/04/19 21:32:42 simon
* Initial revision
*
***************************************************************************/
static const char rcs_id[] = "$Id: scanf,v 1.1 1996/04/19 21:32:42 simon Rel $";
#include <errno.h>
#include <stdlib.h>
#include <stdarg.h>
#include <string.h>
#include <stdio.h>
__STDIOLIB__
int
sscanf (register const char *buf, const char *format,...)
{
va_list ap;
int cnt;
static FILE f[1];
f->i_ptr = f->i_base = (unsigned char *) buf;
f->i_cnt = f->bufsiz = strlen (buf);
f->flag = _IOREAD | _IOFBF | _IOEOF;
f->pos = 0;
f->fd = -1;
va_start (ap, format);
if (__scanf (f, format, ap, &cnt) < 0)
{
va_end (ap);
return (-1);
}
va_end (ap);
return (cnt);
}
int
fscanf (register FILE * f, const char *format,...)
{
va_list ap;
int cnt;
va_start (ap, format);
if (__scanf (f, format, ap, &cnt) < 0)
{
va_end (ap);
return (-1);
}
va_end (ap);
return (cnt);
}
int
scanf (const char *format,...)
{
va_list ap;
int cnt;
va_start (ap, format);
if (__scanf (stdin, format, ap, &cnt) < 0)
{
va_end (ap);
return (-1);
}
va_end (ap);
return (cnt);
}